package se.hiq.wineo.client;

import se.hiq.wineo.shared.data.WineColor;
import se.hiq.wineo.shared.data.WineDescriptor;
import se.hiq.wineo.shared.data.WineDetails;

import com.google.gwt.user.client.rpc.AsyncCallback;

/**
 * The async counterpart of <code>WineService</code>.
 */
public interface WineServiceAsync {

	void getAvailableWines(AsyncCallback<WineDescriptor[]> callback);

	void getWineDetails(Long primaryKey, AsyncCallback<WineDetails> callback);

	void updateOrStoreWine(WineDetails wine, AsyncCallback<WineDetails> callback);

	void getWines(String name, Integer year, WineColor color,
			AsyncCallback<WineDescriptor[]> callback);

}
